home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- String STRING001
- String STRING002
- String TSTRING003(3)
- String TSTRING004(3)
- String STRING005
- String STRING006
- Declare Function FUNCTION001() String
- Declare Procedure PROC001(Integer INTEGER010)
- Declare Procedure PROC002(Integer INTEGER011, Integer INTEGER012)
-
- ;------------------------------------------------------------------------------
-
- If (AnsiOn() == 0) Then
- PrintLn "Error: You can't use this program without ANSI-Emulation"
- Newline
- Wait
- End
- Endif
- FOpen 1, PPEPath() + "RUMOUR.DAT", 2, 0
- FGet 1, INTEGER003
- FClose 1
- INTEGER008 = 6
- INTEGER009 = 14
- INTEGER006 = 20
- INTEGER007 = 15
- GetUser
- TSTRING004(1) = "@X4F ADD A NEW JUICY RUMOUR "
- TSTRING004(2) = "@X4F LIST RUMOURS "
- TSTRING004(3) = "@X4F QUIT RUMOURS "
- TSTRING003(1) = "@X07 Add A New Juicy Rumour "
- TSTRING003(2) = "@X07 List Rumours "
- TSTRING003(3) = "@X07 Quit Rumours "
- StartDisp 1
- DispFile PPEPath() + "RUMOUR1.PCB", 0
- INTEGER001 = 3
- INTEGER004 = 1
- INTEGER005 = INTEGER004
- PROC001(INTEGER001)
- PROC002(INTEGER004, INTEGER005)
- :LABEL001
- STRING001 = FUNCTION001()
- If (((Upper(STRING001) == "UP") || (Upper(STRING001) == "LEFT")) || (Upper(STRING001) == "A")) Then
- INTEGER005 = INTEGER004
- If (INTEGER004 == 1) Then
- INTEGER004 = INTEGER001
- Else
- INTEGER004 = INTEGER004 - 1
- Endif
- PROC002(INTEGER004, INTEGER005)
- ElseIf (((Upper(STRING001) == "DOWN") || (Upper(STRING001) == "RIGHT")) || (Upper(STRING001) == "Z")) Then
- INTEGER005 = INTEGER004
- If (INTEGER004 == INTEGER001) Then
- INTEGER004 = 1
- Else
- INTEGER004 = INTEGER004 + 1
- Endif
- PROC002(INTEGER004, INTEGER005)
- Else
- Select Case (Upper(STRING001))
- Case Chr(27)
- Print "@X07@CLS@"
- PrintLn "@X09Rumour PPE @X01-@X09 Add-ON for Atlantis v1.0@X01 - @X09Written by@X01:@X09 Jolly Roger@X07"
- Newline
- End
- Case Chr(13)
- If (INTEGER004 == 1) Then
- If (INTEGER003 < 200) Then
- DispFile PPEPath() + "RUMOUR2.PCB", 0
- AnsiPos INTEGER008, INTEGER009
- InputStr "_", STRING005, "@X0F", 68, Mask_Ascii(), 0
- STRING005 = ScrText(INTEGER008, INTEGER009, 68, 1)
- STRING005 = StripAtx(STRING005)
- If (Trim(STRING005, " ") <> "") Then
- FOpen 1, PPEPath() + "RUMOUR.DAT", 2, 0
- FPut 1, String(INTEGER003 + 1)
- FClose 1
- FAppend 1, PPEPath() + "RUMOUR.DAT", 2, 0
- FPutLn 1, STRING005
- FPutLn 1, "Entered by: " + U_Name()
- FClose 1
- Endif
- Print "@X07@CLS@"
- StartDisp 1
- DispFile PPEPath() + "RUMOUR1.PCB", 0
- PROC001(INTEGER001)
- PROC002(INTEGER004, INTEGER005)
- Endif
- Endif
- If (INTEGER004 == 2) Then
- Print "@X07@CLS@"
- ResetDisp
- Print "@PON@"
- FOpen 1, PPEPath() + "RUMOUR.DAT", 2, 0
- FGet 1, INTEGER003
- For INTEGER002 = 1 To INTEGER003
- FGet 1, STRING002
- PrintLn "@X08[@X0F" + String(INTEGER002) + "@X08] - @X07" + STRING002
- FGet 1, STRING002
- Next
- FClose 1
- Newlines 2
- Wait
- Print "@POFF@"
- StartDisp 1
- DispFile PPEPath() + "RUMOUR1.PCB", 0
- PROC001(INTEGER001)
- PROC002(INTEGER004, INTEGER005)
- Endif
- If (INTEGER004 == 3) Then
- Print "@X07@CLS@"
- PrintLn "@X09Rumour PPE @X01-@X09 Add-ON for Atlantis v1.0@X01 - @X09Written by@X01:@X09 Jolly Roger@X07"
- Newline
- End
- Endif
- Case "HOME"
- INTEGER005 = INTEGER004
- INTEGER004 = 1
- PROC002(INTEGER004, INTEGER005)
- Case "END"
- INTEGER005 = INTEGER004
- INTEGER004 = INTEGER001
- PROC002(INTEGER004, INTEGER005)
- Endif
- End Select
- Goto LABEL001
- End
-
- ;------------------------------------------------------------------------------
-
- Function FUNCTION001() String
-
- Integer INTEGER010
-
- STRING001 = ""
- While (STRING001 == "") Do
- STRING001 = Inkey()
- If (STRING001 == "BADKEY") STRING001 = ""
- EndWhile
- FUNCTION001 = STRING001
-
- EndFunc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC001(Integer INTEGER010)
-
- For INTEGER002 = 1 To INTEGER010
- AnsiPos INTEGER006, INTEGER007 + INTEGER002 - 1
- Print TSTRING003(INTEGER002)
- Next
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC002(Integer INTEGER011, Integer INTEGER012)
-
- AnsiPos INTEGER006, INTEGER007 + INTEGER012 - 1
- Print TSTRING003(INTEGER012)
- AnsiPos INTEGER006, INTEGER007 + INTEGER011 - 1
- Print TSTRING004(INTEGER011)
- AnsiPos INTEGER006, INTEGER007 + INTEGER011 - 1
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 4 End
- ; 2 Wait
- ; 29 Goto
- ; 34 Let
- ; 9 Print
- ; 4 PrintLn
- ; 18 If
- ; 4 DispFile
- ; 3 FOpen
- ; 1 FAppend
- ; 4 FClose
- ; 4 FGet
- ; 1 FPut
- ; 2 FPutLn
- ; 1 ResetDisp
- ; 3 StartDisp
- ; 1 GetUser
- ; 1 InputStr
- ; 3 Newline
- ; 1 Newlines
- ; 5 AnsiPos
- ; 2 EndProc
- ; 1 EndFunc
- ;
- ;
- ; ■ Functions used :
- ;
- ; 20 +
- ; 5 -
- ; 18 ==
- ; 1 <>
- ; 3 <
- ; 2 <=
- ; 4 >=
- ; 17 !
- ; 4 &&
- ; 6 ||
- ; 10 Upper()
- ; 2 Chr()
- ; 1 Trim()
- ; 1 U_Name()
- ; 1 StripAtx()
- ; 1 Inkey()
- ; 2 String()
- ; 1 Mask_Ascii()
- ; 8 PPEPath()
- ; 1 AnsiOn()
- ; 1 ScrText()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : No flag
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 2 For/Next
- ; 1 While/EndWhile
- ; 10 If/Then or If/Then/Else
- ; 1 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-